#pragma once
#include "DXAMLCommon.h"

#include "CBrush.h"

class CSolidColorBrush :
	public CBrush
{
protected: 
	CSolidColorBrush(const CSolidColorBrush & original, HRESULT & hr);
	CSolidColorBrush(CCoreServices * pCore);
	virtual ~CSolidColorBrush();
	HRESULT FromStringOrColor(CREATEPARAMETERS * pCreate);
public: 
	static HRESULT Create(CDependencyObject * * ppObject, CREATEPARAMETERS * pCreate);
	virtual XUINT32 GetTypeIndex() const;
	virtual HRESULT Clone(CNoParentShareableDependencyObject * * ppClone);
	virtual HRESULT CreateBrushSpan(const CMILMatrix * pWorldTransform, const struct XRECTF_WH * pBrushBounds, struct IBrushSpan * * ppBrushSpan);
	XUINT32 m_rgb;
	virtual HRESULT UpdateAcceleratedBrush(const struct D2DRenderParams & renderParams);
private: 
	HRESULT CreateAcceleratedBrush(const struct D2DRenderParams & renderParams, struct IPALAcceleratedBrush * * ppBrush);
public: 
	virtual HRESULT GetPrintBrush(const struct D2DRenderParams & printParams, struct IPALAcceleratedBrush * * ppBrush);

};
